package com.xuecheng.aicodenew.controller;


import com.xuecheng.aicodenew.ai.AiCodeHelperService;
import jakarta.annotation.Resource;
import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

@RestController
@RequestMapping("/ai")
public class AiController {


    @Resource
    private AiCodeHelperService aiCodeHelperService;


    @GetMapping("/chat")
    public Flux<ServerSentEvent<String>> chat(int memoryId, String message){
      return   aiCodeHelperService.chatSteam(memoryId,message).
              map(chunk->ServerSentEvent.
                      <String>builder()
                      .data(chunk)
                      .build());
    }
}
